/**
 * @file msg_handlers.h
 * Funções de tratamento das mensagens encaminhadas ao deamon.
 */

#ifndef HANDLERS_H_
#define HANDLERS_H_

#include "mqueue.h"

/**
 * Vetor de funções para tratar as mensagens de acordo com o seu tipo.
 * 
 * @see init_handlers
 * 
 * Para cada tipo de mensagem, há uma função nesse vetor, na posição adequada
 * (igual ao tipo da mensagem). Por exemplo: ao receber uma mensagem cujo type é
 * 2, basta chamar handlers[2]() e a função correta será executada.
 */
void (*handlers[MSG_LENGTH])(Msg *msg);

/**
 * Inicializa o vetor de funções.
 * 
 * Esta função deve ser chamada antes de se usar o vetor handlers.
 */
void init_msg_handlers();

#endif /* HANDLERS_H_ */
